#pragma once
#include"Object.h"
//#include"GunObject.h"
#include"MoveObject.h"
#include "PlayerState.h"
#include "GameDefine.h"
//#include"LiveObject.h"
class Camera;
class Box;
class PlayerState;
class OnGroundState;
class OnSpaceState;
class OnWaterState;
class OnDieState;


class Player :
	public Object, public MoveObject
{	
	BULLET_ID _bulletID;	
	PlayerState* _state;
	OnGroundState* _onGroundState;
	OnWaterState* _onWaterState;
	OnSpaceState* _onSpaceState;
	OnDieState* _onDieState;
	PLAYER_STATE _enumState;
	PLAYER_STATE _preState;
	bool _isALive;
public:
	Player(Box* box);	
	
	void init();

	void update();

	void render();		

	void setPlayerBox();

	void setSprite(Sprite* s);

	void jumpUp();

	void jumpDown();

	void set_vx(float vx);

	void setState(PlayerState* state);

	Box* getPlayerBox();

	void setBulletID(BULLET_ID b);

	BULLET_ID getBulletID();

	//shoot(position.x, position.y, angle);
	void shoot(int pos_x, int pos_y, float angle);


	Player();
	~Player();
};				

